home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / S-Sound and Music / (c)s3.d64 / sound_ring mod.c (.txt) < prev   
Commodore BASIC  |  2007-02-04  |  3KB  |  86 lines

  1. 10 POKE 53281,0:PRINT""
  2. 20 PRINT "[147]     [195][207][205][205][207][196][207][210][197] 64 MUSIC SYNTHESIZER"
  3. 30 PRINT "      FEATURING => RING MODULATION"
  4. 100 PRINT"          [221]    [221]   [221]   "
  5. 110 PRINT"          [221]    [221]   [221]   "
  6. 120 PRINT"        [146]2 [146]3 [221] [146]5 [146]6 [146]7 [221] [146]9 [146]0 [221] [146]- [146]\ "
  7. 130 PRINT"        [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] [221] "
  8. 140 PRINT"       [209][221][215][221][197][221][210][221][212][221][217][221][213][221][201][221][207][221][208][221]@[221]*[221]^"
  9. 150 PRINT"[211][208][193][195][197]        SELECT SOLO OR POLYPHONIC"
  10. 160 PRINT"[198]1,[198]3,[198]5,[198]7  SELECT OCTAVE"              
  11. 170 PRINT"[198]2,[198]4,[198]6,[198]8  SELECT WAVEFORM"
  12. 173 PRINT"[216]            PLAY A SONG"
  13. 175 PRINT", OR .       VARY MODULATION"
  14. 180 PRINT"HANG ON, SETTING UP FREQUENCY TABLE..."
  15. 190 S=13*4096+1024:DIMF(26):DIMK(255)
  16. 200 FORI=0TO28:POKES+I,0:NEXT
  17. 210 F1=7040:FORI=1TO26:F(27-I)=F1*5.8+30:F1=F1/2^(1/12):NEXT
  18. 220 K$="Q2W3ER5T6Y7UI9O0P@-*\^"
  19. 230 FORI=1TOLEN(K$):K(ASC(MID$(K$,I)))=I:NEXT
  20. 240 PRINT"[145]                                      "
  21. 250 AT=0:DE=0:SU=15:RE=10:SR=SU*16+RE:AD=AT*16+DE:WV=16:W=0:M=1:OC=4:HB=256:Z=0
  22. 260 MO=30:FORI=0TO2:T=I*7:POKES+5+T,AD:POKES+6+T,SR
  23. 270 POKES+2+T,4000AND255:POKES+3+T,4000/256:NEXT
  24. 280 POKES+24,15
  25. 300 GETA$:IFA$=""THEN300
  26. 310 FR=K(ASC(A$)):IFFR=ZTHEN500
  27. 315 MF=(F(FR))/M+MO:FR=F(FR)/M:T=V*7:CR=S+T+4
  28. 320 POKES+5+T,Z:POKES+6+T,Z
  29. 330 POKECR,8:POKECR,Z
  30. 340 POKES+T,FR-HB*INT(FR/HB)
  31. 350 POKES+1+T,FR/HB
  32. 351 POKES+14,MF-HB*INT(MF/HB)
  33. 352 POKES+15,MF/HB
  34. 360 POKES+5+T,AD:POKES+6+T,SR
  35. 370 POKECR,WV+5:FORI=1TO50*AT:NEXT
  36. 372 IFPEEK(203)<>64 THEN372
  37. 375 POKECR,WV+4
  38. 380 IFP=1THENV=V+1:IFV=2THENV=0
  39. 400 GOTO300
  40. 500 IFA$="[133]"THENM=1:OC=4:GOTO300
  41. 510 IFA$="[134]"THENM=2:OC=3:GOTO300
  42. 520 IFA$="[135]"THENM=4:OC=2:GOTO300
  43. 530 IFA$="[136]"THENM=8:OC=1:GOTO300
  44. 540 IFA$="[137]"THENW=0:WV=16:GOTO300
  45. 550 IFA$="[138]"THENW=1:WV=32:GOTO300
  46. 560 IFA$="[139]"THENW=2:WV=64:GOTO300
  47. 570 IFA$="[140]"THENW=3:WV=128:GOTO300
  48. 580 IFA$=" "THENP=1-P:GOTO300
  49. 585 IFA$="X"THEN10000
  50. 586 IFA$="."THENMO=MO+5:GOTO300
  51. 587 IFA$=","ANDMOTHENMO=MO-5:GOTO300
  52. 590 IFA$="[147]"THEN200
  53. 600 GOTO300
  54. 800 PRINT"HIT A KEY"
  55. 810 GETA$:IFA$=""THEN810:WAIT FOR A KEY
  56. 820 PRINTA$:RETURN
  57. 9000 DATA40,17,15,17,13,17,12,17,10,17,8,17,6,17,15,13,15,15,13,15,12
  58. 9005 DATA15,10,15,8,15,6,15,5,15,13,12,13,13,12,13,10,13,8,13,6,13,5,13,4,13
  59. 9006 DATA12,10,12,12
  60. 9010 DATA10,12,9,12,7,12,5,12,3,12,1,12
  61. 9020 DATA10,8,10,0
  62. 9600 DATA40,12,8,10,12,15,13,13,17,15,15,20
  63. 9610 DATA19,20,15,12,8,10,12,13,15,17,15,13,12,10,12,8,7,8,10,3
  64. 9620 DATA7,10,13,12,10
  65. 9630 DATA12,8,10,12,15,13,13,17,15,15,20
  66. 9640 DATA19,20,15,12,8,10,12
  67. 9650 DATA5,15,13,12,10,8,3,8,7,8,12,15,20,15,12,8
  68. 9660 DATA12,15,18,15,12,8,12,15,17,13,10
  69. 9670 DATA7,10,13,15,12,8,5,8,12,13,10,7,3,7,10,13,12,10
  70. 9680 DATA8,12,15,20,0
  71. 9999 DATA-1,-1
  72. 10000 READTE
  73. 10005 READA:IFA=ZTHEN300
  74. 10010 IFA=-1THENRESTORE:GOTO10000
  75. 10015 FR=F(A)/M:T=V*7:CR=S+T+4
  76. 10020 POKES+5+T,Z:POKES+6+T,Z
  77. 10030 POKECR,8:POKECR,Z
  78. 10040 POKES+T,FR-HB*INT(FR/HB)
  79. 10050 POKES+1+T,FR/HB
  80. 10060 POKES+5+T,AD:POKES+6+T,SR
  81. 10070 POKECR,WV+1:FORI=1TO50*AT:NEXT
  82. 10075 POKECR,WV
  83. 10080 IFP=1THENV=V+1:IFV=3THENV=0
  84. 10090 FORI=1TOTE:NEXT
  85. 10100 GOTO10005
  86.